package org.zh.rc.sv;

import org.springframework.stereotype.Service;
import org.zh.entity.MethodBean;
import org.zh.entity.ServiceEntity;
import org.zh.rc.dao.RCJDBC;

import java.util.List;
import java.util.Map;

@Service
public class ServiceEntityService {

    private final RCJDBC jdbc;

    public ServiceEntityService(RCJDBC jdbc) {
        this.jdbc = jdbc;
    }


    public void insertBean(ServiceEntity se) {
        if (jdbc.existBean(se.getApplicationName(), se.getApplicationBaseUrl()) > 0) {
            jdbc.updateSurvivalTime(se.getApplicationName(), se.getApplicationBaseUrl());
        } else {
            jdbc.insertBean(se);
        }
        jdbc.getSUBServer(se);
    }

    public Map<String, List<Map<String, MethodBean>>> getPUBServer(ServiceEntity se) {
        return jdbc.getPUBServer(se);
    }


    public void updateSurvivalTime(String applicationName, String applicationBaseUrl) {
        jdbc.updateSurvivalTime(applicationName, applicationBaseUrl);
    }


    public List<Map<String,Object>> getAll() {
       return jdbc.getAll();
    }
}
